home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / msdos / raytrace / pov / gen / accel / mrgdata.c < prev    next >
C/C++ Source or Header  |  1991-06-16  |  2KB  |  101 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char BaseName[132];
  6. char VariableName[132];
  7. char ScriptFile[132];
  8. char VariableValue[132];
  9.  
  10. int FrameNumber;
  11.  
  12. FILE *ScriptFileFP,*CurrentFrameFP,*BaseFileFP;
  13.  
  14. main(int argc, char *argv[])
  15. {
  16.    if (argc < 4)
  17.    {
  18.       printf("Usage: %s BaseName VariableName TableName\n",argv[0]);
  19.       exit(0);
  20.    } 
  21.  
  22.    strcpy(BaseName,argv[1]);
  23.    strcpy(VariableName,argv[2]);
  24.    strcpy(ScriptFile,argv[3]);
  25.  
  26.    FrameNumber = 1;
  27.  
  28.    printf("By John M. Trindle, June 1991\n");
  29.    MakeFrames();
  30.  
  31. }
  32.  
  33. MakeFrames()
  34. {
  35.    char BaseFileFQPN[132];
  36.  
  37.    strcpy(BaseFileFQPN,BaseName);
  38.    strcat(BaseFileFQPN,".dat");
  39.  
  40.    ScriptFileFP = fopen(ScriptFile,"r");
  41.    if (ScriptFileFP == NULL)
  42.    {
  43.       printf("Unable to open ScriptFile %s\n",ScriptFile);
  44.       return;
  45.    }
  46.  
  47.    BaseFileFP = fopen(BaseFileFQPN,"r");
  48.    if (BaseFileFP == NULL)
  49.    {
  50.       printf("Unable to open Base %s\n",BaseFileFQPN);
  51.       return;
  52.    }
  53.  
  54.    while (!feof(ScriptFileFP))
  55.    {
  56.       fgets(VariableValue,131,ScriptFileFP);
  57.       if (VariableValue[strlen(VariableValue)-1] == '\n')
  58.          VariableValue[strlen(VariableValue)-1] = '\0';
  59.       if (VariableValue[0] == ';')
  60.          continue;
  61.       MakeDatFile();
  62.       FrameNumber++;
  63.    }
  64. }
  65.  
  66. MakeDatFile()
  67. {
  68.    char FrameDatFileName[132],LineBuffer[132];
  69.    FILE *FrameDatFP;
  70.    char NumBuffer[32],*VariablePos;
  71.  
  72.    strcpy(FrameDatFileName,BaseName);
  73.    sprintf(NumBuffer,"%03d",FrameNumber);
  74.    strcat(FrameDatFileName,NumBuffer);
  75.    strcat(FrameDatFileName,".dat");
  76.    printf("%s\n",FrameDatFileName);
  77.  
  78.    FrameDatFP = fopen(FrameDatFileName,"w");
  79.  
  80.    if (FrameDatFP == NULL)
  81.       return;
  82.  
  83.    rewind(BaseFileFP);
  84.  
  85.    while (!feof(BaseFileFP))
  86.    {
  87.       fgets(LineBuffer,131,BaseFileFP);
  88.       if ( (VariablePos = strstr(LineBuffer,VariableName)) != NULL)
  89.       {
  90.          *VariablePos = '\0';
  91.          fprintf(FrameDatFP,"%s",LineBuffer);
  92.          fprintf(FrameDatFP,"%s",VariableValue);
  93.          fprintf(FrameDatFP,"%s",VariablePos+strlen(VariableName));
  94.       }
  95.       else
  96.          fprintf(FrameDatFP,"%s",LineBuffer);
  97.  
  98.    }
  99.    fclose(FrameDatFP);
  100. }
  101.